home *** CD-ROM | disk | FTP | other *** search
- /*
- * event.h -- Event handler definitions
- *
- * 88Jan09 orc TODAY() macro added for day-selectable events
- * 87Oct27 orc Extracted from ctdl.h
- */
-
- #ifndef _EVENT_H
- #define _EVENT_H
-
- /* #event type [days] time "name" flags */
-
- struct evt_type {
- int evtTime; /* minutes after midnight. */
- char evtDay; /* what days the event can happen */
- /* (bitfield: 76543210) */
- /* SFRWTMS */
- short evtType; /* type of event: */
- #define EVENT_NETWORK 0 /* invoke citadel networker */
- #define EVENT_PREEMPTIVE 1 /* preemptive event */
- #define EVENT_TIMEOUT 2 /* nonpreemptive event */
-
- int evtLen; /* How long this event is expected to */
- /* last. */
-
- LABEL evtMsg; /* message citadel gives you before it */
- /* punts you into never-never land. */
- /* It will be printed in the form */
- /* "system going down at %d:%d for %s". */
-
- int evtRel; /* relative event flag for timeouts */
- /* if this flag is set, citadel will */
- /* find evtTime by adding evtRel to */
- /* curTime() */
-
- short evtFlags; /* special event flags for the net: */
- /* return code for everything else */
- } ;
-
- #define TODAY(x, d) ((x).evtDay & (1<<(d)))
- #define isNetwork(x) ((x)->evtType == EVENT_NETWORK)
- #define isPreemptive(x) (isNetwork(x) || (x)->evtType == EVENT_PREEMPTIVE)
-
- #endif
-